Make called-interactively-p work for edebug or advised code.
authorStefan Monnier <monnier@iro.umontreal.ca>
Tue, 20 Nov 2012 04:24:09 +0000 (23:24 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Tue, 20 Nov 2012 04:24:09 +0000 (23:24 -0500)
commite578039faa9bb8e32e4deace6deb70071fe680b6
tree8b436b8bedce98c543cfb8e01b0d04eb6c019127
parent8c4a99947a3f0ca54e80c57497c203d99089767c
Make called-interactively-p work for edebug or advised code.
* lisp/subr.el (called-interactively-p-functions): New var.
(internal--called-interactively-p--get-frame): New macro.
(called-interactively-p, interactive-p): Rewrite in Lisp.
* lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip): New fun.
(called-interactively-p-functions): Use it.
* lisp/emacs-lisp/edebug.el (edebug--called-interactively-skip): New fun.
(called-interactively-p-functions): Use it.
* lisp/allout.el (allout-called-interactively-p): Don't assume
called-interactively-p is a subr.
* src/eval.c (Finteractive_p, Fcalled_interactively_p, interactive_p): Remove.
(syms_of_eval): Remove corresponding defsubr.
* src/bytecode.c (exec_byte_code): `interactive-p' is now a Lisp function.
* test/automated/advice-tests.el (advice-tests--data): Remove.
(advice-tests): Move the tests directly here instead.
Add called-interactively-p tests.
lisp/ChangeLog
lisp/allout.el
lisp/emacs-lisp/edebug.el
lisp/emacs-lisp/nadvice.el
lisp/subr.el
src/ChangeLog
src/bytecode.c
src/eval.c
test/ChangeLog
test/automated/advice-tests.el